package com.zyz.sunliky.mapper.yunshu;


import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Mapper
public interface ChangeProjectMapper {

    //能力建设
    String projectNumNL(String projectType);

    //产品开发
    String projectNumCP(String projectType);

    //成本节约
    String projectNumCB(String projectType);

    //营销项目
    String projectNumYX(String projectType);

    //资本支出
    String projectNumZB(String projectType);

    //交付项目
    String projectNumJF(String projectType);
    //获取子项目号(产品开发)
    String subProjectNum(String projectId);

    //获取子项目号(能力建设)
    String subProjectNumNL(String projectId);

    int updateStatus(@Param("parentId") String parentId, @Param("sortKey") int sortKey);

    int updateMarket(@Param("parentId") String parentId, @Param("sortKey") int sortKey,@Param("newSortKey") int newSortKey);

    /**
     * 资本支出项目
     * @param parentId
     * @param sortKey
     * @param newSortKey
     * @return
     */
    int updateCapital(@Param("parentId") String parentId, @Param("sortKey") int sortKey,@Param("newSortKey") int newSortKey);

    /**
     * 改项目表和阶段表状态
     * @param id
     */
    int updateProjectStatus(String id);
    int updateStatusLX(String id);
    int updateStatusYXSJ(String id);
    int updateStatusSS(String id);

    /**
     * 营销项目更新子表
     * @param id
     * @return
     */
    int updateMarketStatus(String id);

    /**
     * 资本支出项目更新子表
     * @param id
     * @return
     */
    int updateCapitalStatus(String id);

    /**
     * 更新主表数据
     * @param parentId
     * @return
     */
    int updateMarketState(String parentId);

    /**
     * 资本支出更新主表数据
     * @param parentId
     * @return
     */
    int updateCapitalState(String parentId);

    Map selectStatus(String id);

    /**
     * 查询营销当前阶段状态
     * @param id
     * @return
     */
    List<Map> getMarketStatus(String id);

    /**
     * 查询资本支出当前阶段状态
     * @param id
     * @return
     */
    List<Map> getCapitalStatus(String id);

    /**
     * 获取累计金额
     * @param code
     * @return
     */
    BigDecimal getAmount(String code);


    List<Map<String, Object>> findHeadList(String id);
}
